这是Ui的格式
![img](https://img-mid.csdnimg.cn/release/static/image/mid/ask/539081910646138.png?x-oss-process=image/auto-orient,1/resize,w_320,m_lfit)
代码如下已经重写父类了但是没有调用
# 采用 DDA/中点法/Bresenham 算法画任意直线及(椭)圆。
# 具体要求如下:
# 1.将象素网格表现出来,建立网格坐标系(如下图示例所示,或任意其他形式都
# 可以,只要能展现出一个个独立的像素点形象都可以);
# 2.用橡皮筋的形式输入参数(仿照 windows 自带的绘图程序用鼠标拖动画线,
# 鼠标左键按下位置表示直线段起始点,左键弹起位置为终止点);
# 3.鼠标移动时,显示鼠标当前位置。
# 选做功能:
# 1.显示判别式的计算过程和下一点的选择策略;
# 2.记录生成点的坐标,建议用表的形式;
# 3.图形生成过程可以动态、重复的演示(回放)。
import pyautogui as pag #监听鼠标
from PySide2.QtWidgets import QApplication, QMessageBox
from PySide2.QtUiTools import QUiLoader
from PySide2.QtWidgets import *
import sys
class drawStraightLines(QGraphicsScene):
def __init__(self):
super(drawStraightLines, self).__init__() # 实例化QWidget
self.ui=QUiLoader().load("test.ui")
self.ui.label.setMouseTracking(True)
##ui.
##self.ui.StartBtn.clicked.connect(self.Draw)
def Draw(self):
x0=self.ui.x0.text()
x1 = self.ui.x1.text()
y0 = self.ui.y0.text()
y1 = self.ui.y1.text()
print(x0,y0,x1,y1)
def mouseMoveEvent(self,event):
self.setMouseTracking(True)
s = event.pos()
print(s.x(),s.y())
self.ui.label_6.setText('X:' + str(s.x()))
def mousePressEvent(self, event):
print(event.pos())
if __name__ == '__main__':
app = QApplication(sys.argv)
drawwindow = drawStraightLines()
drawwindow.ui.show()
app.exec_()
运行结果及报错内容
我的解答思路和尝试过的方法
在Designer设计面板设置mouseTraking但是仍然无效
![img](https://img-mid.csdnimg.cn/release/static/image/mid/ask/282203910646196.png?x-oss-process=image/auto-orient,1/resize,w_320,m_lfit)
我想要达到的结果
获取鼠标坐标打印在控制台上
|